Data flow between an application server and a database server is largely dependent on the scope and number of queries generated by the application server. Complex calculations can involve numerous queries of the database server which in turn can consume significant resources in connection with data transport as well as application server-side processing of transported data. Calculation engines can sometimes be employed by applications and/or domain specific languages in order to effect such calculations. Such calculation engines can execute calculation models/scenarios that comprise a plurality of hierarchical calculation nodes.
Calculation engines, when used with columnar data stores, can have special handling for constant columns (i.e., columns in which each row has a same value). Due to the instantiation process it can happen that only constant columns are requested at a certain calculation node. In this case, the default handling by the calculation engine is to return an empty table for this calculation node with all constant columns. However, some queries or application-features require a result also if only constant columns are requested (and, as such, the empty table is not effective). For example, a query can be run as follows in order to obtain values on a particular database graphical calculation view:
select distinct<column>FROM view
If this column matches to a constant column in the graphical calculation view the query will return an empty result. With such a query, no values are returned, however, when different queries are executed with other columns, the corresponding constant value can be returned as result. Such inconsistencies can be problematic for database users and administrators.